/*
 * @File    :   base64.js
 * @Time    :   2024/03/11 23:20:57
 * @Author  :   chakcy
 * @Email   :   947105045@qq.com
 * @description   :   base64编码
 */


// 将数据编码为base64格式的字符串
function encode(data) {
    const jsonString = JSON.stringify(data) // 将 data 转换为 JSON 字符串
    const encodedJsonString = Buffer.from(jsonString).toString('base64') // 将 JSON 字符串转换为 base64 格式的字符串
    return encodedJsonString
}

// 将base64格式的字符串解码为原始字符串
function decode(code) {
    code = code.replace(/\r/g, '').replace(/\n/g, '') // 去除 base64 字符串中的换行符
    const buffer = Buffer.from(code, 'base64') // 将 base64 格式的字符串转换为 buffer
    const decodedString = buffer.toString('utf8') // 将 buffer 解码为 utf8 格式的字符串
    return decodedString
}

// 导出编码和解码函数
module.exports = {
    encode,
    decode
}